Newer
Older
taehui / taehui-fe / src / app / [language] / forum / query / useGetEssay.ts
@Taehui Taehui on 17 Mar 968 bytes 2024-03-17 오후 2:12
import { useQuery } from "@tanstack/react-query";
import { wwwAPI } from "@/utilities/wwwAPI";
import { EssayAPIEssay, GetEssayAPI } from "@/type/wwwAPI";
import { getLanguage } from "taehui-ts/language";

export default function useGetEssay(essayID?: string) {
  return useQuery<{
    forumTitle: string;
    title: string;
    text: string;
    date: string;
    avatarID: string;
    avatarName: string;
    hitCount: number;
    essayBefore?: EssayAPIEssay;
    essayLater?: EssayAPIEssay;
  }>({
    enabled: !!essayID,
    queryKey: ["essay", essayID],
    queryFn: async () => {
      const { data } = await wwwAPI.get<GetEssayAPI>(`/essay/${essayID}`, {
        params: { language: getLanguage() },
      });
      return data;
    },
    initialData: {
      forumTitle: "",
      title: "",
      text: "",
      date: "",
      avatarID: "",
      avatarName: "",
      hitCount: 0,
      essayBefore: undefined,
      essayLater: undefined,
    },
  });
}